import { defineStore } from 'pinia'

export const useChemicalStore = defineStore({
  id: 'chemical',
  state: () => {
    return {
      qyInfo: localStorage.getItem('qyInfo')
        ? JSON.parse(localStorage.getItem('qyInfo') || '')
        : {},
      FormCheckConfirmShow: false, //表单校验是否为空 提示框
      refreshFlag: 0,
      tipsPageShow: false, //提示标牌 是否显示
      currentFactorInfo: {
        id: '',
        name: '',
        type: '',
        jhlx: 0,
        bzlx: '0',
        wzxx: {},
        zxdjdwd: {},
        attribute: {},
      }, //当前标注要素 信息
      currentMenuParentId: '', //当前标注的菜单id
      bzlxList: [], //标注类型字典项
      FactorConfirmShow: false, //要素保存二次确认弹窗 是否显示
      secondaryConfirmInfo: {
        show: false,
        text: '',
        type: '',
        typeCode: '',
        data: {},
      }, //删除数据/数据地图要素 二次确认弹窗
      fileUploadTipShow: false, //附件上传进度提示 弹窗
      commonDictionaries: {
        syzt: [],
        wxydj: [],
        sfBool: [
          { zddm: '0', zdmc: '否' },
          { zddm: '1', zdmc: '是' },
        ],
        ywBool: [
          { zddm: '0', zdmc: '无' },
          { zddm: '1', zdmc: '有' },
        ],
      }, //公共字典
      productionStorage: {
        tankFarm: {
          dictionaries: { cglx: [], fplx: [], pmcsqxh: [] },
          addTankFarmShow: false, //新增罐区弹窗 是否显示
          addStorageTankShow: false, //新增储罐弹窗 是否显示
        },
        device: {
          dictionaries: { zdsblx: [] },
          addDeviceShow: false, //新增装置弹窗 是否显示
          addUnitShow: false, //新增单元弹窗 是否显示
          addEquipmentShow: false, //新增设备弹窗 是否显示
        },
        warehouse: {
          dictionaries: { cklx: [] },
          addWarehouseShow: false, //新增仓库弹窗 是否显示
        },
        yard: {
          addYardShow: false, //新增堆场弹窗 是否显示
        },
        torchFacilities: {
          dictionaries: { hjlx: [], hjxs: [] },
          addTorchFacilitiesShow: false, //新增火炬设施弹窗 是否显示
          addTorchShow: false, //新增火炬弹窗 是否显示
        },
        // dcs: {
        //   addDcs: false, //新增DCS 是否显示
        // },
      },
      fireFightingFacilities: {
        dialogType: '', //弹窗类型
      },
      enterpriseFacilities: {
        dialogType: '', //弹窗类型
      },
      modelResetConfirmShow: false, //模型复位 二次确认
      tileSetOptions: {
        tx: 0, //模型中心X轴坐标（经度，单位：十进制度）
        ty: 0, //模型中心Y轴坐标（纬度，单位：十进制度）
        tz: 0, //模型中心Z轴坐标（高程，单位：米）
        rx: 0, //X轴（经度）方向旋转角度（单位：度）
        ry: 0, //Y轴（纬度）方向旋转角度（单位：度）
        rz: 0, //Z轴（高程）方向旋转角度（单位：度）
        scale: 1.0, //缩放比例
      },
      modelOldWzxx: {
        tx: 0,
        ty: 0,
        tz: 0,
      },
    }
  },
  actions: {
    /** 重置状态 */
    resetStore() {
      this.$reset()
    },
    /** 关闭生产存储全部弹窗 */
    closeAllPSDialog() {
      this.productionStorage.tankFarm.addTankFarmShow = false
      this.productionStorage.tankFarm.addStorageTankShow = false

      this.productionStorage.device.addDeviceShow = false
      this.productionStorage.device.addUnitShow = false
      this.productionStorage.device.addEquipmentShow = false

      this.productionStorage.warehouse.addWarehouseShow = false

      this.productionStorage.yard.addYardShow = false

      this.productionStorage.torchFacilities.addTorchFacilitiesShow = false
      this.productionStorage.torchFacilities.addTorchShow = false
    },
  },
  getters: {},
})
